/*
 * Copyright (c) 2018 Jan Van Winkel <jan.van_winkel@dxplore.eu>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <zephyr/device.h>
#include <zephyr/devicetree.h>
#include <zephyr/drivers/gpio.h>

#include <stdio.h>
#include <string.h>
#include <zephyr/kernel.h>

#include "nrfx_clock.h"

#include "ble_common.h"

#define LOG_LEVEL CONFIG_LOG_DEFAULT_LEVEL
#include <zephyr/logging/log.h>
LOG_MODULE_REGISTER(app);

/***************** Main 初始化执行函数. **********************/

int main(void)
{

#if defined(CONFIG_BT)
	// 
	ble_common_init();
#endif

	while(1)
	{
		// 做你想做的任务.
		// 例程是休眠了.
		k_sleep(K_FOREVER);
	}
}


// 高频128Mhz 运行模式.
static int hfclock_config_and_start(void)
{
	int ret;

	/* Use this to turn on 128 MHz clock for cpu_app */
	ret = nrfx_clock_divider_set(NRF_CLOCK_DOMAIN_HFCLK, NRF_CLOCK_HFCLK_DIV_1);

	ret -= NRFX_ERROR_BASE_NUM;
	if (ret) {
		return ret;
	}

	nrfx_clock_hfclk_start();
	while (!nrfx_clock_hfclk_is_running()) {
	}

	return 0;
}


// 初始化高频时钟128Mhz运行模式. 因为SPI配置的时候会判断当前是否在 高频模式,
SYS_INIT(hfclock_config_and_start, POST_KERNEL, 0);
